﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using DataLayer.Class;
using System.Data.Objects;
using System.Data;

namespace DataLayer.Database
{
    public class RezervasyonDB
    {
        public void rezervasyonYap(Rezervasyon r)
        {
            DBConnection cn = new DBConnection();
            
            cn.ConnectDB.RezervasyonEkle(r.Musteri.MusteriID,r.Masa.MasaID,r.KisiSayisi,r.Tarih,r.Zaman,r.Aciklama,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }

        public void rezervasyonGuncelle(int rezID,int kisiSay,string zaman,string aciklama)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.RezervasyonDuzenle(rezID, kisiSay, zaman, aciklama,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }

        public void rezervasyonSil(int rezID)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.RezervasyonSil(rezID,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }
        public void rezervasyonBitir(Rezervasyon rez)
        {
            DBConnection cn = new DBConnection();
            cn.ConnectDB.RezervasyonBitir(rez.RezID,rez.Musteri.Oncelik.Katsayi,rez.Masa.MasaTipi.Katsayi,rez.KisiSayisi,rez.Musteri.MusteriID,Session.kullaniciKodu);
            cn.ConnectDB.SaveChanges();
        }


        public static ArrayList tumRezervasyonlariListele(int kriter,string aranan)

        {
            DBConnection cn = new DBConnection();
            ArrayList al = new ArrayList();

            IEnumerator<TumRezervasyonlariCek_Result3> num = cn.ConnectDB.TumRezervasyonlariCek(aranan,kriter).GetEnumerator();

            while (num.MoveNext())
            {
                Rezervasyon r = new Rezervasyon();
                r.RezID = num.Current.RezID;
                r.Musteri.Ad = num.Current.Ad;
                r.Musteri.Soyad = num.Current.Soyad;
                r.Musteri.MusteriID = num.Current.MusteriID;
                r.Musteri.Oncelik.OncelikID = num.Current.MusteriOncelikID;
                r.Musteri.Oncelik.Katsayi = num.Current.OncelikKatsayisi;
                r.Masa.MasaTipi.Katsayi = num.Current.MasaTipiKatsayisi;
                //r.Musteri.KayitTarihi = num.Current.KayitTarihi;
                r.Musteri.TelefonNo = num.Current.TelefonNo;
                //rez.Musteri.Puan = num.Current.Puan;

                r.KisiSayisi = num.Current.KisiSayisi;
                r.Masa.MasaID = num.Current.MasaID;
                r.KisiSayisi = num.Current.KisiSayisi;
                r.Tarih = num.Current.Tarih;
                r.Zaman = num.Current.Saat;

                if (num.Current.Aciklama == null)
                    r.Aciklama = "";
                else
                    r.Aciklama = num.Current.Aciklama;
                
                r.BittiMi = num.Current.BittiMi;


                al.Add(r);
            }
            return al;
        }


    }
}
